본문 바로가기

728x90

Data Science/Data Visualization

[05. Etcetera Chart] 010. Data Map 지도에 데이터를 표시하는 맵이다. 크게 3가지가 있다. 1. 구역지도 색으로 지도 영역에 어떤 값의 범위를 그린 것이다. import plotly.express as px if __name__ == '__main__': df = px.data.election() geojson = px.data.election_geojson() fig = px.choropleth_mapbox(df, geojson=geojson, color='winner', locations='district', featureidkey='properties.district', center={'lat': 45.5517, 'lon': -73.7073}, mapbox_style='carto-positron', zoom=9) fig.update_.. 더보기
[05. Etcetera Chart] 009. Heat Map 밀도에 따라 색상을 달리하여 시각화한 차트이다. import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np if __name__ == '__main__': df = pd.DataFrame(np.random.random((5,5)), columns=['a', 'b', 'c', 'd', 'e']) print(df) sns.heatmap(df) plt.show() 결과 값 a b c d e 0 0.087655 0.427545 0.743457 0.864916 0.374516 1 0.235498 0.689074 0.487793 0.522156 0.678673 2 0.084710 0.313334 0.60581.. 더보기
[05. Etcetera Chart] 008. Gantt Chart 간트차트는 기업 프로젝트 관리 분야에서 사용되는 차트이다. 관리자가 작업 프로세스를 명확하게 파악할 수 있다. import pandas as pd import plotly.express as px if __name__ == '__main__': df = pd.DataFrame([ {'Task': 'A', 'Start': '2021-01-01', 'Finish': '2021-02-22'}, {'Task': 'B', 'Start': '2021-03-01', 'Finish': '2021-04-12'}, {'Task': 'C', 'Start': '2021-02-21', 'Finish': '2021-05-15'}, {'Task': 'D', 'Start': '2021-05-01', 'Finish': '2021-05.. 더보기
[05. Etcetera Chart] 007. Word Cloud Chart 워드 클라우드 차트는 데이터 중의 키워드 등을 직관적으로 파악할 수 있도록 핵심 단어의 빈도가 많을수록 글자를 크게 표현하여 시각적으로 돋보이게 하는 차트이다. import matplotlib.pyplot as plt from wordcloud import WordCloud if __name__ == '__main__': text = ('Python Python Python WordCloud Stock Bond Realestate Bitcoin Stock YOneLabs YOneLabs YOneLabs') wordcloud = WordCloud(width=480, height=480, margin=0).generate(text) plt.imshow(wordcloud, interpolation='bilin.. 더보기
[05. Etcetera Chart] 006. Funnel Plot 깔때기 도표는 한층 한층 분석하는 과정에 사용한다. 업무 프로세스가 규범적이고 주기가 길며, 고리가 많은 프로세스 분석에 주로 많이 사용한다. import plotly.express as px if __name__ == '__main__': flg = px.funnel_area(title='A제품', names=['인지', '사용', '만족', '추천'], values=[100, 20, 10, 5]) flg.show() 더보기
[05. Etcetera Chart] 005. Rader Chart 방사형 그래프는 특정 대상-주요 변수의 상대적인 관계를 나타낼 때 주로 사용한다. import matplotlib.pyplot as plt import pandas as pd from math import pi if __name__ == '__main__': plt.rcParams['font.family'] = 'NanumGothic' df = pd.DataFrame({'group': ['A', 'B', 'C', 'D'], '공격': [99, 90, 34, 55], '수비': [20, 50, 84, 80], '패스': [50, 60, 99, 93], '슛팅': [99, 70, 88, 85], '드리블': [87, 85, 75, 40], }) print(df) categories = list(df)[1:].. 더보기
[05. Etcetera Chart] 004. Bubble Chart 버블 차트는 크게 산점도와 비슷하나 원의 크기로 변수의 크기를 나타낼 수 있는 차트이다. import matplotlib.pyplot as plt import seaborn as sns from gapminder import gapminder if __name__ == '__main__': data = gapminder.loc[gapminder['year'] == 2007] print(data.head()) sns.scatterplot(data=data, x='gdpPercap', y='lifeExp', size='pop', legend=False, sizes=(20, 2000)) plt.show() 결과 값 country continent year lifeExp pop gdpPercap 11 Afgha.. 더보기
[05. Etcetera Chart] 003. Histogram 히스토그램은 비교할 양이나 수치의 분포를 막대 모양으로 나타낸 그래프이다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': df = sns.load_dataset('iris') print(df.head()) sns.distplot(a=df['sepal_length'], hist=True, kde=False, rug=False) plt.show() 더보기
[05. Etcetera Chart] 002. Scatter Plot 산점도는 변수 간의 관계를 점으로 표현한 것이다. 변수 간의 상호 관계가 존재하지 않으면 랜덤하게 분포하는 모습을 보인다. import matplotlib.pyplot as plt import seaborn as sns if __name__ == '__main__': df = sns.load_dataset('iris') print(df.head()) sns.regplot(x=df['sepal_length'], y=df['sepal_width'], fit_reg=False) plt.show() 결과 값 sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.. 더보기
[05. Etcetera Chart] 001. Box Plot 중앙값, 제1사분위수, 제2사분위수, 제3사분위수와 두 극단값(최댓값, 최솟값)을 시각적으로 표현한 그래프이다. import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np if __name__ == '__main__': a = pd.DataFrame({'group': np.repeat('A', 500), 'value': np.random.normal(10, 5, 500)}) b = pd.DataFrame({'group': np.repeat('B', 500), 'value': np.random.normal(13, 1, 500)}) c = pd.DataFrame({'group': np.repeat('C.. 더보기
728x90